#include<bits/stdc++.h>
using namespace std;
typedef long long LL;

int n,m;
int h[1000001];
int hm=0;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++){
		scanf("%d",&h[i]);
	}
	sort(h,h+n);
//	for(int i=0;i<n;i++){
//		printf("%d ",h[i]);
//	}
	//printf("%d %d\n",n,m);
	int l=0,r=h[n-1],mid;
	LL cur;
	while(l<r){
		cur=0;
		mid=(r-l)/2+l;
		for(int i=0;i<n;i++){
			if(h[i]>mid) cur+=h[i]-mid;
		}
		if(cur==m){
			l=r=mid;
		}
		else if(cur>m) {
			l=mid;
			if(r-l>1) continue;
			cur=0;
			for(int i=0;i<n;i++){
				if(h[i]>mid+1) cur+=h[i]-mid-1;
			}
			if(cur>m){
				l++;
			}
			else{
				r--;
			}
		}
		else{
			r=mid-1;
		}
	}
	printf("%d",l);
	return 0;
}
